#ifndef __LCD_INIT_H
#define __LCD_INIT_H

#include "all.h"

#define USE_HORIZONTAL 0  //设置横屏或者竖屏显示 0或1为竖屏 2或3为横屏


#if USE_HORIZONTAL==0||USE_HORIZONTAL==1
#define LCD_W 240
#define LCD_H 320

#else
#define LCD_W 320
#define LCD_H 240
#endif





//-----------------LCD端口定义---------------- 

#define DATAOUT(x) GPIOD->POD=x; //数据输出
//#define DATAIN     GPIOB->IDR;   //数据输入
//#define DATAOUT(x) GPIO_Write(GPIOC,x); //数据输出 GPIO_Write


#define	LCD_RES_Set()	GPIO_WriteBit(GPIOA,GPIO_PIN_15,Bit_SET);       //复位			  PB3
#define	LCD_CS_Set()    GPIO_WriteBit(GPIOC,GPIO_PIN_10,Bit_SET);       //片选端口  	PB4
#define	LCD_DC_Set()    GPIO_WriteBit(GPIOC,GPIO_PIN_11,Bit_SET);        //数据/命令   PB5
#define	LCD_WR_Set()	GPIO_WriteBit(GPIOC,GPIO_PIN_12,Bit_SET);       //写数据	    PB6
#define	LCD_RD_Set()	GPIO_WriteBit(GPIOE,GPIO_PIN_0,Bit_SET);       //读数据		  PB7
//#define	LCD_BLK_Set()	//GPIO_WriteBit(GPIOB,GPIO_PIN_4,Bit_SET);

#define	LCD_RES_Clr()	GPIO_WriteBit(GPIOA,GPIO_PIN_15,Bit_RESET);     //复位				PB3    
#define	LCD_CS_Clr()    GPIO_WriteBit(GPIOC,GPIO_PIN_10,Bit_RESET);     //片选端口    PB4
#define	LCD_DC_Clr()	GPIO_WriteBit(GPIOC,GPIO_PIN_11,Bit_RESET);     //数据/命令   PB5
#define	LCD_WR_Clr()	GPIO_WriteBit(GPIOC,GPIO_PIN_12,Bit_RESET);     //写数据	    PB6
#define	LCD_RD_Clr()	GPIO_WriteBit(GPIOE,GPIO_PIN_0,Bit_RESET);     //读数据	    PB7
//#define	LCD_BLK_Clr()	//GPIO_WriteBit(GPIOB,GPIO_PIN_4,Bit_RESET);     //背光控制	  PB8


void LCD_GPIO_Init(void);//初始化GPIO
void LCD_Writ_Bus(uint8_t dat);//模拟SPI时序
void LCD_WR_DATA8(uint8_t dat);//写入一个字节
void LCD_WR_DATA(uint16_t dat);//写入两个字节
void LCD_WR_REG(uint8_t dat);//写入一个指令
void LCD_Address_Set(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2);//设置坐标函数
void LCD_Init(void);//LCD初始化6
void lcd_slepp_en(void);
#endif




